﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Npgsql;
using System.Text.RegularExpressions;

namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        public NpgsqlConnection conn;
        
         protected void Page_Load(object sender, EventArgs e)
        {
        }
        // Vid knapptryck när admin är ifyllt så går man till nästa sida.
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (Namn.Text == "")
            {
                MeddelandeLabel.Text = "Namnfältet får inte vara tomt";
                Namn.Focus();
                return;
            }

            if (Lösen.Text == "")
            {
                MeddelandeLabel.Text = "Lösenordsfältet får inte vara tomt";
                Lösen.Focus();
                return;
            }

            // Kolla så att boxarna inte innehåller specialtecken
            if (Regex.Match(Lösen.Text + Namn.Text, @"[^a-zåäöA-ZÅÄÖ0-9_\s]").Success)
            {
                MeddelandeLabel.Text = "Textboxarna får inte innehålla specialtecken";
                return;
            }


            conn = new NpgsqlConnection(Conn.connStr);

            try
            {
                conn.Open();  //Kopplingen mot databasen öppnas
            }
            catch (Exception exc)
            {
                MeddelandeLabel.Text =
                  "Ett fel inträffade vid uppkoppling till databasen. Felmeddelande: '" + exc.Message;
                conn.Close();
                return;
            }



            String sql = String.Format(@"SELECT password FROM members 
                                       WHERE golf_id='{0}';", Namn.Text);
            NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
            NpgsqlDataReader dr = cmd.ExecuteReader();

            if (dr.HasRows && dr.Read() && Lösen.Text == dr["password"].ToString())
            {
                string user = Namn.Text;
                string pass = Lösen.Text;
                Session["usern"] = user;
                Session["passn"] = pass;

                Response.Redirect("index.aspx");
            }
            else
            {
                MeddelandeLabel.Text = "Användarnamn eller lösen var fel";
            }
            conn.Close();

        }
    }

}
